home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1979-12-31 | 2.5 KB | 115 lines |
- 10 '*************************************************************************
- 20 '* For sorting DIALING DIRECTORY (PC-TALK.DIR) for PC-TALK ver. III. *
- 30 '* written by Jung W. Woo, Arlington, Va. June, 1983. *
- 40 '* This program also deletes unwanted items from the directory. Just *
- 50 '* enter five dashes ("-----") in the name field before running. *
- 60 '* *
- 70 '* (Alternate fields SORT added by Kyle Cummings 12-11-84) *
- 80 '*************************************************************************
- 90 OPTION BASE1
- 100 DEFINT A-Z
- 110 DIM W$(60)
- 120 KEY OFF
- 130 CLS
- 140 LOCATE 2,15
- 150 PRINT "*** PC-TALK III Dialing Directory SORT program ***"
- 160 PRINT
- 170 PRINT
- 180 LOCATE,20
- 190 PRINT "1) SORT on NAME FIELD"
- 200 LOCATE,20
- 210 PRINT "2) SORT on PHONE NUMBER field"
- 220 LOCATE,20
- 230 PRINT "3) SORT on COMM PARAMS field"
- 240 LOCATE,20
- 250 PRINT "99) EXIT to DOS"
- 260 PRINT
- 270 PRINT
- 280 LOCATE,15
- 290 INPUT "Enter: ",ANS
- 300 IF ANS=99 THEN SYSTEM
- 310 IF ANS>3 OR ANS<1 THEN GOTO 120
- 320 SORTKEY=ANS
- 330 CLS
- 340 LOCATE 12,30
- 350 PRINT "Sorting PC-TALK.DIR"
- 360 ON ERROR GOTO 1120
- 370 OPEN"PC-TALK.DIR" AS #1
- 380 FIELD #1,5 AS CK$
- 390 FIELD #1,104 AS RR$
- 400 FIELD #1,24 AS N$,36 AS R$,2 AS X$,4 AS B$,5 AS P$,2 AS T$,26 AS C$,3 AS L$,2 AS G$
- 410 GET#1,1
- 420 IF LEFT$(N$,10)<>"INITIALIII"THEN 1080
- 430 I=5
- 440 J=0
- 450 GET#1,I
- 460 LOCATE 12,50
- 470 PRINT I
- 480 IF CK$<>"-----" THEN J=J+1:W$(J)=RR$
- 490 I=I+1
- 500 IF I<65 THEN 450
- 510 F=1
- 520 I=1
- 530 ON SORTKEY GOTO 560,660,760
- 540 GOTO 840
- 550 ' -- Sort on NAME
- 560 LOCATE 13,37
- 570 COLOR 0,7
- 580 PRINT "SORTING.."
- 590 COLOR 7,0
- 600 IF MID$(W$(I),1,46)>MID$(W$(I+1),1,46) THEN SWAP W$(I),W$(I+1):F=0
- 610 I=I+1
- 620 IF I<J THEN 600
- 630 IF F=0 THEN F=1:I=1:GOTO 600
- 640 GOTO 840
- 650 ' -- Sort on PHONE NUMBER
- 660 LOCATE 13,37
- 670 COLOR 0,7
- 680 PRINT "SORTING.."
- 690 COLOR 7,0
- 700 IF MID$(W$(I),47,14)>MID$(W$(I+1),47,14) THEN SWAP W$(I),W$(I+1):F=0
- 710 I=I+1
- 720 IF I<J THEN 700
- 730 IF F=0 THEN F=1:I=1:GOTO 700
- 740 GOTO 840
- 750 ' -- Sort on COMM PARAMS
- 760 LOCATE 13,37
- 770 COLOR 0,7
- 780 PRINT "SORTING.."
- 790 COLOR 7,0
- 800 IF MID$(W$(I),63,7)>MID$(W$(I+1),63,7) THEN SWAP W$(I),W$(I+1):F=0
- 810 I=I+1
- 820 IF I<J THEN 800
- 830 IF F=0 THEN F=1:I=1:GOTO 800
- 840 FOR I=1 TO J
- 850 LSET RR$=W$(I)
- 860 PUT#1,I+4
- 870 NEXT I
- 880 LSET N$="------------------------"
- 890 RSET R$="- --- --- ----"
- 900 LSET X$=MKI$(14)
- 910 RSET B$="300"
- 920 LSET P$="E71NN"
- 930 LSET T$=MKI$(O)
- 940 LSET C$=STRING$(26,"/")
- 950 LSET L$=""
- 960 LSET G$=MKI$(0)
- 970 FOR I=J+5 TO 64
- 980 PUT#1,I
- 990 NEXT
- 1000 CLOSE
- 1010 BEEP
- 1020 LOCATE 13,37
- 1030 PRINT "DONE !!!!"
- 1040 FOR KK=1 TO 2500
- 1050 NEXT KK
- 1060 GOTO 120
- 1070 END
- 1080 BEEP
- 1090 PRINT"PC-TALK.DIR not initialized."
- 1100 CLOSE
- 1110 END
- 1120 CLOSE
- 1130 IF ERL=360 THEN PRINT"PC-TALK.DIR not found.":RESUME 1140
- 1140 END
-